Data mining is the process of discovering useful patterns in data that are hidden and unknown in normal circumstances. Useful patterns in data for example may disclose information on event frequency, magnitude, duration, and cost. Data mining draws from several fields, including machine learning, statistics, and database design. It uses techniques such as clustering, associative rules, visualization, and probabilistic graphical dependency models to identify hidden and useful structures in large databases.
A special branch of data mining includes temporal data mining (TDM) methods. TDM refers to the application of data mining concepts to finding patterns in time series. There are four components of any TDM method. These include sampling the data (time sampling), encoding or embedding the data, extracting temporal patterns, and then learning the extracted temporal patterns using, for example, a machine learning model.
The time series data to which TDM is applied consists of a set of values collected at discrete points in time. The values are generally numerical, but in some applications may include, for example, colors or other non-numerical data. Typical numerical data may be the occurrence of a machine fault or other machine event, or the duration of a machine downtime event. Numerical data may also include cost data or other financial data.
Temporal data in a time series need not be regularly spaced; for example, events may have occurred, and been recorded, at irregular intervals. Time sampling is a process of imposing regular spacing on the data by binning the data into bins corresponding to regular time intervals, for example, every 30 minutes. How the data is binned depends on the kind of data. For occurrences of events, for example, the binned data may consist of, for each 30 minute interval, a count of how many event occurrences were recorded in the time series for that interval. For cost data, the time series data may be binned by summing the total cost data for that 30 minute interval.
Encoding or embedding the data may entail taking a multidimensional combination of time shifted data to create a representation of the temporal data series in a phase space, whose dimension is the same as the multidimensional combination used to create the representation. The temporal patterns are extracted by applying the encoding or embedding to the data.
A neural network is one example of a model for computing or machine learning. It is based on the architecture of the brain. Processing elements—neurons—accept a finite number of simple inputs and each produces a single predictable output. Outputs from one neuron may be applied to another neuron as input. In this way, the neurons of the neural network are connected together. Neurons may also be referred to herein as nodes.
External inputs may be applied to a subset of the neurons. External outputs may be provided by a subset of the neurons. In addition, there may be hidden neurons in a neural net. These are neurons that are connected to other neurons through their input and output connection, but neither accept external inputs nor produce external output.
Specification of the number of neurons, their connections, and their weights provides a specification of the neural network. Often the specification is augmented with a rule to prescribe how the weights may change in response to inputs and desired outputs provided to the network during a training period. In addition, some inputs may serve to bias the network. That is to say, some neurons/nodes of a neural network may have a bias value. This value helps in modulating the firing of the nodes to inputs. A bias causes a shift in the firing function (typically a sigmoid function) of the node. The system may also learn to adjust the bias values for each of the hidden layer and output layer nodes (which may be referred to as bias weights) in addition to the regular weights on the links between the neurons.
Neural networks may be implemented in software modules. They have been used in pattern recognition applications, and are most effective when there is available a large collection of example patterns for training the neural network. Machine event code or fault code occurrences in a manufacturing facility may provide such a collection. Analysis of event code occurrences as provided in such a collection may be of interest to operators of the manufacturing facility.
Generation of an event code or other signal by a machine in an assembly, manufacturing, or other production plant may entail a downtime event whose duration may impact line throughput. In large scale manufacturing and assembly plants, such as those used in automobile manufacturing, thousands of machines and their machine operators may work simultaneously.
For many reasons, a machine may generate an event code that is sent to a centralized database. In a large plant, when one machine halts, its entire station or more stations may stop operating. Furthermore, in large plants, thousands of event codes may be generated within a short period of time. Event code data that is time stamped data is stored in a database. Analysis of event code time series may provide for prediction of machine downtime and in this way may support preventive maintenance over reactive maintenance.
Several other areas may benefit from robust analysis of time series data, including prognostics and health management of systems such as satellite subsystems, fighter jet subsystems as well as several electrical and electromechanical subsystems. Other potential applications to time series prediction problems include areas such as financial, medical and warranty database mining, and attacks in a computer network or fraudulent transactions in a financial institution.